home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carousel Volume 2 #1
/
carousel.iso
/
comdore
/
64apps
/
cad30.arc
/
FIGURE DRAW
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1988-11-13
|
2KB
|
88 lines
1 REM FIGURE DRAW FOR CAD
2 PRINT"[147][158]":POKE53280,00:POKE53281,00
3 CLR:DIMA%(255,3):EN=255
4 X$="[216]:"
5 Y$="[217]:"
6 PRINTCHR$(14)"[147][210]EFERENCE (L,R,T,B)":R=1
7 GETA$:IFA$=""THEN7
8 IFA$="R"THENR=2
9 IFA$="T"THENR=3
10 IFA$="B"THENR=4
11 ONRGOSUB34,35,36,37
12 FORS=1024TO2023:POKES,32:NEXT
13 PRINT"";:PRINTTAB(18);"[216]:"
14 PRINT"";:PRINTTAB(28);"[217]:"
15 POKESP,91:POKECP,08
16 PRINTX$;X;"[157] ";Y$;Y;"[157] "
17 GETA$:IFA$<>""THEN23
18 POKESP+X+40*Y,PEEK(SP+X+40*Y)AND127
19 JV=PEEK(56320):FR=JVAND16:IFFR=0THENGOSUB28
20 JV=15-(JVAND15):IFJV=15THEN17
21 ONRGOSUB38,43,48,53
22 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:POKECP+X+40*Y,08:GOTO16
23 IFA$=CHR$(20)THENGOSUB30
24 IFA$=CHR$(136)THENGOSUB58
25 IFA$=CHR$(140)THENGOSUB75:RUN
26 IFA$=CHR$(147)THEN3
27 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:GOTO17
28 P=P+1:A%(P,1)=X:A%(P,2)=Y:A%(P,3)=1:POKESP+X+40*Y,128+102:POKECP+X+40*Y,08
29 RETURN
30 FORCL=1TO255
31 IFA%(CL,1)<>XTHENNEXT:RETURN
32 IFA%(CL,2)<>YTHENNEXT:RETURN
33 POKESP+A%(CL,1)+A%(CL,2)*40,32:A%(CL,3)=0:NEXT:RETURN
34 SP=1504:CP=55776:RETURN
35 SP=1543:CP=55815:RETURN
36 SP=1083:CP=55355:RETURN
37 SP=2003:CP=56275:RETURN
38 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
39 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
40 IF(JVAND4)THENX=X-1:IFX<0THENX=0
41 IF(JVAND8)THENX=X+1:IFX>39THENX=39
42 RETURN
43 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
44 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
45 IF(JVAND4)THENX=X-1:IFX<-40THENX=-40
46 IF(JVAND8)THENX=X+1:IFX>0THENX=0
47 RETURN
48 IF(JVAND1)THENY=Y-1:IFY<0THENY=0
49 IF(JVAND2)THENY=Y+1:IFY>23THENY=23
50 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
51 IF(JVAND8)THENX=X+1:IFX>20THENX=20
52 RETURN
53 IF(JVAND1)THENY=Y-1:IFY<-23THENY=-23
54 IF(JVAND2)THENY=Y+1:IFY>0THENY=0
55 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
56 IF(JVAND8)THENX=X+1:IFX>20THENX=20
57 RETURN
58 PRINT"[147][204][207][193][196] FILENAME:";
59 GETF$:IFF$=""THEN59
60 IFF$=CHR$(13)THENRETURN
61 OPEN2,8,2,F$+".FIG,P,R":P1=0
62 FORT=1TO2
63 GET#2,A$(T)
64 NEXT
65 P1=P1+1:FORT=1TO2
66 GET#2,A$:IFA$=CHR$(255)THEN71
67 REM IFA$=""THEN67
68 A=ASC(A$+CHR$(0))
69 IFA>127THENA=-(AAND127)
70 A%(P1,T)=A:NEXT:A%(P1,3)=1:GOTO65
71 CLOSE2
72 PRINT"[147]":FORT=1TOP1-1:IFA%(T,3)=0THENNEXT:GOTO74
73 X1=A%(T,1):Y1=A%(T,2):POKESP+X1+40*Y1,128+102:POKECP+X1+40*Y1,08:NEXT
74 P=P1-1:RETURN
75 PRINT"[147][211][193][214][197] FILENAME:";
76 GETF$:IFF$=""THEN76
77 IFF$=CHR$(13)THEN87
78 OPEN2,8,2,"@0:"+F$+".FIG,P,W":P1=0
79 PRINT#2,CHR$(0);CHR$(158);
80 P1=P1+1:IFP1=P+1THEN86
81 IFA%(P1,3)=0THEN80
82 FORT=1TO2
83 IFA%(P1,T)<0THENA%(P1,T)=(ABS(A%(P1,T))OR128)
84 NEXT
85 PRINT#2,CHR$(A%(P1,1));:PRINT#2,CHR$(A%(P1,2));:GOTO80
86 PRINT#2,CHR$(255);CHR$(255);:CLOSE2:PRINT"[147]"
87 RETURN